<?php

use App\Http\Controllers\Icon\iconController;

/*
|--------------------------------------------------------------------------
| Routes File
|--------------------------------------------------------------------------
|
| Here is where you will register all of the routes in an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/



Route::get('/', function () {      
    return view('welcome');
});




Route::get('/upload', function () {
    return view('fileupload');
});

Route::any('dumpupload','TestController@postUpload');


/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/

// test image
Route::get('tstImg',"Icon\iconController@tstImg");

// 测试访问路径 http://localhost/apisq/test ,apisq是前缀，test对应的是getTest方法，
// 不需要进行其它设置.get表示请求类型，也可以用post,Test表示对应Rrl里面的test
Route::controller('icon', 'Icon\iconController');  // 注意一定要有icon进行区分，否则后面的所有以apisq为前缀的路由都会出现问题
Route::controller('user','UserController');
Route::controller('file', 'TestController');
Route::controller('wechatsq','WeChatController');
Route::any('apisq/wechatsq/callback', 'WeChatController@callback');  // 


/*************    icon 相关  Router *******************/
Route::group(['middleware' => ['web']], function () {
});


Route::group(['namespace' => 'Icon'], function () {

    
    Route::get('test',function(){
        iconController::test();
    });
    
});

Route::post('addIcon','Icon\iconController@addIcon');

// 根据Icon的fid，删除其数据记录和相关项。
Route::get('/deltIcon/{icnfid}','Icon\iconController@deltIcon');

//加载所有Icon对象，并依据用户id返回所有icon对象状态。形式 '/loadIcons/22
//Route::get("/loadIcons/{userid}",'Icon\iconController@loadAllIcons');

// 分页加载  Icon对象，并依据用户id返回所有icon对象状态。形式 '/loadIconsBP/uid/22/lmt/5/ofst/0'
// Route::get('/loadIconsBP/uid/{uid}/lmt/{lmt}/ofst/{ofst}', 'Icon\iconController@loadAllIconsByPages');


// 检索小于icon的fid值的数据，并依据用户id返回所有icon对象状态。形式 '/loadIconsBMinF/uid/22/lmt/5/minfid/100'
Route::get('/loadIconsBMinF/uid/{uid}/lmt/{lmt}/minfid/{minfid}', 'Icon\iconController@loadAllIconsByMinFid');

// 返回最新的icon数据。形式 '/loadNewestIcons/uid/22/lmt/5'
Route::get('/loadNewestIcons/uid/{uid}/lmt/{lmt}', 'Icon\iconController@loadAllNewestIconsByPages');

// 返回 当月上传日的 icon的集合。形式 "/loadIconInMonth/uid/5/ymd/20160101"
Route::get('/loadIconInMonth/uid/{uid}/ymd/{ymd}','Icon\iconController@loadIconInMonth');

// 限制数加载其他用户的 icon记录。 形式 '/loadOthersIcons/11/22/10/0' ; 用户22检索用户11的icon记录,限制返回 10,偏移量 0;
Route::get('/loadOthersIcons/{beloadedUserid}/{userid}/{lmt}/{off}', 'Icon\iconController@loadOthersIcons');

// 限制 加载 非本人用户信息及其Icon信息 /loadUserIconInfo/34/35/10/0; 用户35检索用户34的icon记录,限制返回 10,偏移量 0;
Route::get("/loadUserIconInfo/{beloadedUserid}/{userid}/{lmt}/{off}",'Icon\iconController@loadUserIconInfo');

// 分页加载  自身的 icon
Route::get("/loadOwnIcon/uid/{uid}/lmt/{lmt}/ofset/{ofset}",'Icon\iconController@loadOwnIcon');

// 返回 所有 在fid 集合中的 icon
Route::any('loadIconInFids','Icon\iconController@loadIconInFids');

// 依据用户 和 话题的 id 限制返回 符合记录的 日志信息
Route::get('/loadTpcInfo/{userid}/{topicid}/{lmt}/{off}','Icon\iconController@loadTpcInfo');

//删除某个icon对象
Route::get('/deltIcon/{icnfid}','Icon\iconController@deltIcon');

//user点赞 icon  beliked userid 被点赞者id
Route::get('/iconPlusFavour/{icnfid}/{userid}/{belikeduserid}','Icon\iconController@plusFavour');

//user取消点赞 icon
Route::get('/iconMinFavour/{icnfid}/{userid}','Icon\iconController@minFavour');

//user收藏icon
Route::get('/iconPlusStore/{icnfid}/{userid}/{bestoreduserid}','Icon\iconController@plusStore');

//user取消收藏icon
Route::get('/iconMinStore/{icnfid}/{userid}','Icon\iconController@minStore');

/***********************  end   icon 相关  Router ****************************/


/************************** self icon 相关Router **************************************/
// 添加私有 icon
Route::any('addSelfIcon','Icon\iconSelfController@addSelfIcon');

// 删除私有Icon
Route::get('deltSelfIcon/{iconfid}','Icon\iconSelfController@deltSelfIcon');

// 加载私有Icon
Route::get('loadSelfIcons/{userid}','Icon\iconSelfController@loadSelfIcons');

// 发布私有Icon
Route::get('publishIcon/{iconfid}','Icon\iconSelfController@pulishIcon');

/*********************** end self icon 相关Router **************************************/



/*************    comment-reply 相关  Router *******************/
// 添加comment记录。POST方式 '/addCmt/'，传入Json形式 
// { "cmtInfo":{"comment":'new comment','userid':userid1,'iconfid':iconfid2} }
Route::any('addCmt','Icon\commentController@addCmt');

// 依据 icon的fid和用户id 限制返回满足条件的 评论 形式 'loadCmts/73/3/50'
Route::get('loadCmts/{iconfid}/{userid}/{lmt}/{offset}','Icon\commentController@loadCmts');

// 依据 icon的fid和用户id 限制返回满足条件的 评论 形式  'loadNewCmts/73/3/50'
Route::get('loadNewCmts/{iconfid}/{userid}/{lmt}','Icon\commentController@loadNewestCmtByPage');

// 依据 icon的fid和用户id，最小comment的fid 限制返回满足条件的 评论 形式  'loadCmtByMinFid/73/9/30/50'
Route::get('loadCmtByMinFid/{iconfid}/{userid}/{cmtminfid}/{lmt}','Icon\commentController@loadCmtByMinFid');

// 依据 comment的id 限制返回满足条件的 评论 形式 'loadRps/6/50/3'
Route::get('loadRps/{cmtid}/{lmt}/{offset}','Icon\replyController@loadRps');

// 依据 comment的id和user的id，添加点赞记录  GET 形式 'cmtPlusFavour/6/6'
Route::get('cmtPlusFavour/{cmtid}/{userid}/{becmtuserid}','Icon\commentController@cmtPlusFavour');

// 依据 comment的id和user的id，删除点赞记录  GET 形式 'cmtMinFavour/6/6'
Route::get('cmtMinFavour/{cmtid}/{userid}','Icon\commentController@cmtMinFavour');

//　添加　reply ，POST形式 "/addRp",出入Json形式  { "rpInfo":{"rpcontent":'new rp content','userid':userid1,
//  'rp_userid':rpuserid,'commentid':commentid }  }
Route::any('/addRp','Icon\replyController@addRp');

// 删除回复信息
Route::any('dltRp/{rpid}','Icon\replyController@dltRp');

// 根据comment的id 删除相关记录, GET形式 "/deltCmt/11"，11为 comment的id
Route::get('/deltCmt/{cmtid}','Icon\commentController@deltCmt');

// 依据icon的fid返回其所有 评论-回复 形式 '/loadCmtRps/iconfid/1'
Route::any('loadCmtRps/iconfid/{iconfid}','Icon\iconController@getCmtRps');

// 依据Icon的fid 自增浏览数
Route::any('plusBrowseNum/{iconfid}','Icon\iconController@plusBrowseNum');

/***********************  end   comment-reply 相关  Router ****************************/




/*************    image-tag 相关  Router *********************/
// 依据 image的fid集合 返回对应的tag集合 形式 "/loadTags"，传入参数形式 ['imgfids'=>[imgfid1,imgfid2,imgfid3]]
Route::any('loadTags','Icon\iconController@loadTags');
/*************    end  image-tag 相关  Router   **************/




/*************    user 相关  Router *********************/

/** 获得用户可更新的非头像信息的集合
 */
Route::any("/userInfo/{uid}","UserController@userInfo4Update");


/* 依据 用户id更新用户信息。POST形式 "/user/update"，
 * 传入参数形式
 * {"userInfo":
 {"id":"id1","avatar":"imgPath1","nname":"nickname","gender":"nan",
 "address":"address1","height":181,"weight":80,"career":"carear1","birthd":"20161225"
 }
 }
 */
Route::any('/userupdate','UserController@updateInfo');

/* 依据 用户id更新用户非头像信息。POST形式 "/user/updateP"，，
 * 传入参数形式
 * {"userInfo":
 {"id":"id1","nname":"nickname","gender":"nan","address":"address1",
 "height":181,"weight":80,"career":"carear1","birthd":"20161225"
 }
 }
 */
Route::post('/userupdateP','UserController@updateProperty');

/* 添加粉丝。POST形式 "/user/addFans"，，
 * 传入参数形式
 * {"userInfo":{"userid":"2","fansid":"3"}}
*/
Route::any('addFans','UserController@addFans');

/* 移除粉丝。POST形式 "/user/addFans"，，
 * 传入参数形式
 * {"userInfo":{"userid":"2","fansid":"3"}}
 */
Route::post('removeFans','UserController@removeFans');

/* 获得粉丝列表。GET形式 "/getFans/3"
 * 返回 {"errorCode":0,"datas":[{"userid":5,"username":"user5",
 *      "nickname":"nickname5","avatar":"avatar\/16121015\/D.JPG"}]}
*/
Route::get('getFans/{userid}','UserController@getFans');

/* 获得关注表。GET形式 "/getFollows/3"
 * 返回 {"errorCode":0,"datas":[{"userid":5,"username":"user5",
 *      "nickname":"nickname5","avatar":"avatar\/16121015\/D.JPG"}]}
 */
Route::get('getFollows/{userid}','UserController@getFollows');

/* 添加关注。POST形式 "/user/addFans"，，
 * 传入参数形式
 * {"userInfo":{"userid":"2","followid":"3"}}
 */
Route::any('addFollow','UserController@addFollow');

/* 移除关注。POST形式 "/user/addFans"，，
 * 传入参数形式
 * {"userInfo":{"userid":"2","followid":"3"}}
*/
Route::any('removeFollow','UserController@removeFollow');

/* 获取用户统计信息。GET形式 "/userStatic/3"
 * 返回{"errorCode":0,"datas":[{"fansnum":4,"followsnum":0,
    "icnbeliked":"36","icnstorenum":"23","cmtbeliked":null}]}
 */
Route::get('userStatic/{userid}','UserController@userStatic');

Route::get('userDetialStatic/{userid}','UserController@userDetialStatic');


/*************    end  user 相关  Router   **************/

Route::any('/tup','UserController@tup');




/*************    about  topic    **************/

// 加载 话题基本信息
Route::get("/loadTpcBase","TopicController@loadTpcBase");

// 根据用户 加载所有 topic数据
Route::any("/loadTpc/{userid}","TopicController@loadTpc");

Route::get("/plusTcpBrowse/{tpcID}","TopicController@plusTcpBrowse");

Route::get("/minTcpBrowse/{tpcID}","TopicController@minTcpBrowse");

// 话题 点赞 数 加/减一
Route::get("/plusTcpFavour/{userid}/{tpcID}","TopicController@plusTcpFavour");

Route::get("/minTcpFavour/{userid}/{tpcID}","TopicController@minTcpFavour");

// 话题  关注数 加/减一
Route::get("/plusTcpFollow/{userid}/{tpcID}","TopicController@plusTcpFollow");

Route::get("/minTcpFollow/{userid}/{tpcID}","TopicController@minTcpFollow");


Route::get("/pluseTcpBrowse/{tpcID}","TopicController@plusTcpBrowse");


/*
 * 返回所有的 topic数据
 * {"title":"title 1","description":"content 1" }
 */

Route::post('/addTpc','TopicController@addTpc');



/*************    end  topic    **************/



// 系统推荐

Route::get('/recommendUsers/{userid}/{lmt}/{off}','Icon\iconController@recommendUsers');




Route::any("/testM",'MsgController@getUnread');

Route::any('/test/{a}/{b}',function($a,$b){
    echo "message test";
});

Route::get('/tH', function () {
    return view('tH');
});
    
Route::any('/testP',function(){
//     die("fsdfa");
});



